# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
pkgname=tinyssh
pkgver=20220311
pkgrel=0
pkgdesc="Small SSH server using NaCl / TweetNaCl (no dependency on OpenSSL)"
url="https://tinyssh.org/"
license="CC0-1.0"
arch="all !riscv64"
_openrc_deps="s6-networking"
makedepends="libsodium-dev"
options="!check"
subpackages="$pkgname-doc $pkgname-openrc"
source="$pkgname-$pkgver.tar.gz::https://github.com/janmojzis/tinyssh/archive/$pkgver.tar.gz
	$pkgname.initd
	$pkgname.confd
	"

build() {
	export LIBS="-lsodium"
	export CFLAGS="$CFLAGS -I/usr/include/sodium"
	export LDFLAGS="$LDFLAGS -L/usr/lib"
	make
}

check() {
	make check
}

package() {
	make install DESTDIR="$pkgdir"

	mkdir -p "$pkgdir"/etc/$pkgname
	install -m755 -D "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/tinysshd
	install -m644 -D "$srcdir"/$pkgname.confd \
		"$pkgdir"/etc/conf.d/tinysshd

	# post-install message
	mkdir -p "$pkgdir/usr/share/doc/$pkgname"
	cat > $pkgdir/usr/share/doc/$pkgname/README.alpine <<EOF
TinySSH can be run in 3 different ways:
--------------------------------------
(1) /etc/init.d/tinysshd (requires tcpserver & takes care of key generation)

(2) via inetd (you will need to 'tinysshd-makekeys <dir>' manually):

echo '22 stream tcp nowait root /usr/sbin/tinysshd tinysshd -l -v /etc/tinyssh/sshkeys' >> /etc/inetd.conf
rc-service inetd start

(3) Using runit with either (1) or (2)

Stealth SSH with FWKNOP: https://it-offshore.co.uk/security/53-stealth-your-ssh-port-ssh-into-lxc-containers
EOF
}


openrc() {
	default_openrc
	depends="$_openrc_deps"
}

sha512sums="
c61212213ee6756c24f74748f8e85a9576c2e69dd3a418d9d347bd8d5007be85b8287a25041690e1f3caa834f3b4eeea4cfcf250918282055d2f48db02bee1db  tinyssh-20220311.tar.gz
408c85f113e554eb1e22b29b75a17765a2ed6046d34d1d9d800cd99ea94b5db4f39611347ebfb9e5ffd58071beb61f00319aacb7264184ba89d28cf279965b12  tinyssh.initd
7c6282a6ae972d83d3e624530cac4958adee1e2313d0e44aff38c94bde1a3f549a536ec80e594d44c29a6a981919dd30322e8d8511626fdb6493c98587047392  tinyssh.confd
"
